<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //定义一个函数 求二十位斐波那契数是多少
        // function fn(n) {
        //     for (let i = 0; i <= n; i++) {
        //         if (typeof n !== "number" || n < 1) {
        //             return n;
        //         } else if (n <= 2) {
        //             return 1;
        //         } else {
        //             return fn(n - 1) + fn(n - 2)
        //         }
        //     }
        // }
        // var sum = fn(20)
        // console.log("第二十斐波那契数:" + sum);
        // function fn(n) {
        //     if (n <= 2) {
        //         return 1
        //     }

        //     let a = 1, b = 1, r = 0;
        //     for (let i = 3; i <= n; i++) {
        //         r = a + b
        //         a = b
        //         b = r
        //         console.log("第" + i + "项的值" + r);
        //     }
        //     return r;
        // }
        // console.log(fn(20));




        // //2,定义一个函数 给定一个年份 月份 判断该月多少天
        // let days = function fn(year, mons) {
        //     let arr = []
        //     if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
        //         arr = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
        //     } else {
        //         arr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
        //     }
        //     return arr[mons - 1]

        // }
        // let res1 = days(2022, 8)
        // console.log("这个月是：" + res1);



        // //求 99之间水仙花数 最后放入一个数字中 水仙花数：是一个三位数 该三位数各位数字立方之和等于该数本身，
        // //例如153就是一个水仙花数
        // let arr = []
        // var a = 0, b = 0, c = 0;//个位/十位/百位
        // for (var i = 100; i < 999; i++) {
        //     a = i % 10;
        //     b = parseInt(((i / 10) % 10));//不想要小数 处于整
        //     c = parseInt(i / 100);
        //     if (i === a * a * a + b * b * b + c * c * c) {
        //         arr.push(i)

        //     }
        // }
        // console.log(arr);



        // //4，求现在距离2023年01-01还有多少天
        // let time1 = new Date("2022-9-21 00:00:00").getTime()

        // function fn1() {
        // //指定日期和时间
        //     var EndTime = new Date('2023/01/01 00:00:00').getTime;
        //     // 当前系统时间
        //     var NowTime = new Date('2022/09/21 00:00:00').getTime;
        // var t = EndTime.getTime('2023/01/01 00:00:00').getTime - NowTime.getTime('2022/09/21 02:00:00').getTime;
        //  var d = Math.floor(t / 1000 / 60 / 60 / 24);
        //      var h = Math.floor(t / 1000 / 60 / 60 % 24);
        //      var m = Math.floor(t / 1000 / 60 % 60);
        //      var s = Math.floor(t / 1000 % 60);
        //     var html = d + " 天" + h + " 时" + m + " 分" + s + " 秒";
        //     // console.log(html);
        //      return html

        //  }
        // console.log();("离明年还有：" + fn1());


        // function fn3(NowTime,targeTime){
        //     let arr=targeTime-NowTime;
        //     let surplus=arr/1000/3600/24;
        //     return surplus;
        // }
        // console.log(fn3(EndTime ,NowTime));


        // //5、数组a由1～20个数字组成，每个数字为4个，总共80个元素
        // // 随机取出15个元素组成新的数组b，编写一个函数对b进行处理，如果b满足每个数字为3个
        // // 如：[1,1,1,2,2,2,3,3,3,4,4,4,11,11,11]则返回1，否则返回0
        // let a = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9,
        //     9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14,
        //     15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20];
        // // let res = Math.floor(Math.random() * 80)
        // function fn4() {

        //     //解法1
        //     let flag;
        //     // let b = [];
        //     for (let i = 0; i < 15; i++) {
        //         let res = Math.floor(Math.random() * 80);
        //         b.push(a[res]);
        //     }
        // }
        //     // let b = [1,1,1,2,2,2,5,5,5,7,7,7,9,9,9]
        //     console.log(b);
        //     let obj = b.reduce(function(prev,item){
        //      prev[item] = prev[item] + 1 || 1;
        //      return prev;
        //     },{})
        //  console.log(obj);

        //     // let temArr = [];
        //     // for(let k in obj){
        //     //     temArr.push(obj[k]);
        //     // }
        //     // console.log(temArr);
        //     // flag = temArr.every(function(item){
        //     //     return item == 3;
        //     // })
        //     // return flag;

        //     // let b = [1, 1, 1, 2, 2, 2, 5, 5, 5, 7, 7, 7, 9, 9, 9];
        //     // let obj = b.reduce(function (prev, item) {
        //     //     prev[item] = prev[item] + 1 || 1;
        //     //     return prev;
        //     // }, {});
        //     // let objArr = Object.values(obj);
        //     // console.log(objArr);
        //     // flag = objArr.every(function(item){
        //     //     return item == 3
        //     // });
        //     // return flag;

        //     // 简化
        //     let b = [1, 1, 1, 2, 2, 2, 5, 5, 5, 7, 7, 7, 9, 9, 9];
        //     let obj = b.reduce(function (prev, item) {
        //         prev[item] = prev[item] + 1 || 1;
        //         return prev;
        //     }, {});
        //     return Object.values(obj).every(function(item){
        //         return item == 3;
        //     });
        // }

        // console.log(fn4());


//猜数字游戏 1到10之间的整数

        // function getRandom(min, max) {
        //     return Math.floor(Math.random() * (max - min + 1)) + min;
        // }
        // var random = getRandom(1, 10);
        // var count = 0;
        // var shengyu = 0;
        // while (count < 10) {
        //     var num = prompt('你来猜数字吧(最多只有五次机会)? 输入一个1~10之间的数字');
        //     count++;
        //     shengyu = 5 - count;
        //     if (num > random) {
        //         alert('你猜大了。你还有' + shengyu + '次机会了');
        //     } else if (num < random) {
        //         alert('你猜小了。你还有' + shengyu + '次机会了');
        //     } else {
        //         alert('猜对啦，你好棒哦！你只用了' + count + '次机会。');
        //         break;
        //     }
        // }
            // function getRandom(min, max) {
            //     return Math.floor(Math.random() * (max - min + 1)) + min;
            // }
            // // 获得1到10的随机整数
            // var random = getRandom(1, 10);
            // var flag = 0;
            // // 死循环，5次机会用完或者猜对则退出循环
            // while (true) {
            //     var num = prompt('请猜一个1-10的数:');
            //     if (num > random) {
            //         flag++;
            //         alert('太大了！你还有' + (5 - flag) + '次机会');
            //     } else if (num < random) {
            //         flag++;
            //         alert('太小了！你还有' + (5 - flag) + '次机会');
            //     } else {
            //         alert('恭喜你，猜对了！数字是' + random);
            //         break;
            //     }
            //     if (flag == 5) {
            //         alert('太菜了！机会用完了！正确数字是' + random);
            //         break;
            //     }
            // }

    </script>
</body>

</html>